// import 'package:flutter_tool_example/models/storage_info.dart';
// import 'package:sqflite/sqflite.dart';
// import 'package:path/path.dart';
//
// class DatabaseProvider {
//   DatabaseProvider._();
//   Database? _database;
//   static final DatabaseProvider db = DatabaseProvider._();
//
//   Future<Database> get database async {
//     if (_database != null) {
//       return _database!;
//     }
//     _database = await createDatabase();
//     return _database!;
//   // }
//
//   Future<Database> createDatabase() async {
//     String dbPath = await getDatabasesPath();
//     return await openDatabase(join(dbPath, "deviceDb.db"), version: 1,
//         onCreate: (Database database, int version) async {
//       await database.execute(
//         "CREATE TABLE storage (id TEXT,storageName TEXT)",
//       );
//       await database.execute(
//         "CREATE TABLE toolKit (id TEXT,toolKitName TEXT,storageId TEXT)",
//       );
//       await database.execute(
//           "CREATE TABLE antennaInfo (id TEXT,toolKitId TEXT,antennaPort TEXT)");
//     });
//   }
//
//   Future<StorageInfo?> getStorageSetting() async {
//     final db = await database;
//     var storageList = await db.query("storage");
//     if (storageList.isEmpty) {
//       return null;
//     }
//     for (Map<String, dynamic> element in storageList) {
//       final id = element["id"]?.toString();
//       var toolKitList = await getToolKitList(id!);
//       element['toolKitList'] = toolKitList;
//     }
//     return StorageInfo.fromMap(storageList[0]);
//   }
//
//   Future<List<Map<String, dynamic>>> getToolKitList(String id) async {
//     final db = await database;
//     var toolKitList =
//         await db.query("toolKit", where: 'storageId=?', whereArgs: [id]);
//     if (toolKitList.isNotEmpty) {
//       for (Map<String, dynamic> element in toolKitList) {
//         final toolKitId = element["id"]?.toString();
//         var antennaList = await getAntennaList(toolKitId!);
//         element["antennaList"] = antennaList;
//       }
//     }
//     return toolKitList;
//   }
//
//   Future<List<Map<String, dynamic>>> getAntennaList(String id) async {
//     final db = await database;
//     var antennaList =
//         await db.query('antennaInfo', where: 'toolKitId=?', whereArgs: [id]);
//     return antennaList;
//   }
//
//   Future<bool> insertSettings(StorageInfo storageInfo) async {
//     final db = await database;
//     db.delete('storage');
//     db.delete('toolKit');
//     db.delete('antennaInfo');
//     var index = await db.insert('storage', storageInfo.toMap());
//     var items = storageInfo.toolKitList;
//     for (var item in items) {
//       await db.insert('toolKit', item.toMap());
//       for (var item1 in item.antennaList) {
//         await db.insert('antennaInfo', item1.toMap());
//       }
//     }
//     return true;
//   }
// }
